home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 23 / Amiga Format AFCD23 (Feb 1998, Issue 107).iso / +look_here_1st!+ / reader_requests / alienbreed3d2 / cheesesauce / protectionprotection < prev    next >
Text File  |  1997-11-28  |  3KB  |  214 lines

  1. CALCEDK SET 0
  2.  
  3. ; PROTFCHECK
  4. ; PROTGCHECK
  5. ; PROTHCHECK
  6. ; PROTICHECK a0
  7. ; PROTKCHECK a0
  8. ; PROTLCHECK a0
  9. ; PROTMCHECK a0
  10.  
  11.  
  12. ; Protcheck a-f are protsetup decoding parts.
  13. ; Protchech G is the call to PROTSETUP and must
  14. ; be well protected.
  15. ; Protcheck H is the call to DEFAULTGAME.
  16. ; Protcheck I is the call to the protection
  17. ; routine for the second time.
  18. ; J is the protection setup routine (encrypted.)
  19. ; needs to be checksummed before and after use.
  20. ; K is the hidden routine iteslf. Also needs checking
  21. ; L is the initial check for correct entering of
  22. ; the protection code.
  23. ; M is a random addition to RVAL2
  24. ; N is an addition to RVAL1
  25.  
  26. PROTACALC MACRO
  27.  ENDM
  28.  
  29. PROTACHECK MACRO
  30.  ENDM
  31.  
  32.  
  33. PROTBCALC MACRO
  34.  ENDM
  35.  
  36. PROTBCHECK MACRO
  37.  ENDM
  38.  
  39.  
  40. PROTCCALC MACRO
  41.  ENDM
  42.  
  43. PROTCCHECK MACRO
  44.  ENDM
  45.  
  46.  
  47. PROTDCALC MACRO
  48.  ENDM
  49.  
  50. PROTDCHECK MACRO
  51.  ENDM
  52.  
  53.  
  54. PROTECALC MACRO
  55.  ENDM
  56.  
  57. PROTECHECK MACRO
  58.  ENDM
  59.  
  60.  
  61. PROTFCALC MACRO
  62.  ENDM
  63.  
  64. PROTFCHECK MACRO
  65.  ENDM
  66.  
  67.  
  68. PROTGCALC MACRO
  69.  ENDM
  70.  
  71. PROTGCHECK MACRO
  72.  ENDM
  73.  
  74.  
  75. PROTHCALC MACRO
  76.  move.l ProtChkHLev1,d0
  77.  add.l ProtChkHLev1+4,d0
  78.  move.l d0,ProtValH
  79.  ENDM
  80.  
  81. PROTHCHECK MACRO
  82. ; move.l ProtChkHLev1,d0
  83. ; add.l ProtChkHLev1+4,d0
  84. ; cmp.l #$f5a70d5b,d0
  85. ; beq.s NOBLOWI
  86. ; rts
  87. ;NOBLOWI:
  88.  ENDM
  89.  
  90.  
  91. PROTICALC MACRO
  92.  ENDM
  93.  
  94. PROTICHECK MACRO
  95. ;
  96. ; lea ProtChkILev1-2300,\1
  97. ; cmp.l #RealTable-2000,2300+2(\1)
  98. ; bne.s .BLOWUPH
  99. ; cmp.l #PROTCALC-5000,2300+6+2(\1)
  100. ; bne.s .BLOWUPH
  101. ; cmp.l #ASKFORPROT-10000,2300+12+2(\1)
  102. ; bne.s .BLOWUPH
  103. ; cmp.l #PROTCALLENC-800,2300+18+2(\1)
  104. ; bne.s .BLOWUPH
  105. ; cmp.l #800,26+2300(\1)
  106. ; beq.s .NOBLOWUPH
  107. ;.BLOWUPH:
  108. ; sub.l #4001,a7
  109. ; jmp $504000
  110. ;.NOBLOWUPH:
  111. ;
  112.  
  113.  ENDM
  114.  
  115.  
  116. PROTJCALC MACRO
  117.  
  118.  ENDM
  119.  
  120. PROTJCHECK MACRO
  121.  
  122.  ENDM
  123.  
  124. PROTKCALC MACRO
  125.  
  126.  move.l #PROTCALLENC,a0
  127.  move.l #(ENDPROT-PROTCALLENC)/4-1,d1
  128.  move.l #0,d0
  129. codeitup:
  130.  add.l (a0)+,d0
  131.  ror.l #1,d0
  132.  dbra d1,codeitup
  133.  
  134.  move.l d0,ProtValK
  135.  
  136.  ENDM
  137.  
  138. PROTKCHECK MACRO
  139. ; move.l #PROTCALLENC-2500,\1
  140. ; add.l #2500,\1
  141. ; move.l #(ENDPROT-PROTCALLENC)/4-1,d1
  142. ; move.l #0,d0
  143. ;codeitupk:
  144. ; add.l (\1)+,d0
  145. ; ror.l #1,d0
  146. ; dbra d1,codeitupk
  147. ;
  148. ; cmp.l #$CEE52EF9,d0
  149. ; beq.s .NOBLOWUPK
  150. ; movem.l (a7)+,d0/d3/d5/d7/a2/a4/a6
  151. ; rts
  152. ;.NOBLOWUPK:
  153.  
  154.  ENDM
  155.  
  156.  
  157.  
  158. PROTLCALC MACRO
  159.  
  160.  ENDM
  161.  
  162. PROTLCHECK MACRO
  163. ; move.l #ProtChkLLev1-4000,\1
  164. ; add.l #4000,\1
  165. ; cmp.l #protA,2(\1)
  166. ; bne.s .BLOWUP
  167. ; cmp.l #$66062e7c,6(\1)
  168. ; bne.s .BLOWUP
  169. ; tst.l 10(\1)
  170. ; beq.s .NOBLOWUP
  171. ;.BLOWUP
  172. ; addq #8,a7
  173. ;.NOBLOWUP:
  174. ;
  175.  ENDM
  176.  
  177. PROTMCALC MACRO
  178.  
  179. ; move.l #ProtChkMLev1,a0
  180. ; moveq #0,d0
  181. ; add.l (a0)+,d0
  182. ; sub.l (a0)+,d0
  183. ; add.l (a0)+,d0
  184. ; add.w (a0)+,d0
  185. ; move.l d0,ProtValM
  186.  
  187.  ENDM
  188.  
  189. PROTMCHECK MACRO
  190. ; move.l #ProtChkMLev1-3400,\1
  191. ; add.l #3400,\1
  192. ; moveq #0,d0
  193. ; add.l (\1)+,d0
  194. ; sub.l (\1)+,d0
  195. ; add.l (\1)+,d0
  196. ; add.w (\1)+,d0
  197. ; cmp.l #$888990b1,d0
  198. ; beq.s .NOBLOWUPM
  199. ;
  200. ; add.l #2000,a7
  201. ; jmp $40000
  202. ;
  203. ;.NOBLOWUPM:
  204. ;
  205.  ENDM
  206. PROTNCALC MACRO
  207.  
  208.  ENDM
  209.  
  210. PROTNCHECK MACRO
  211.  
  212.  ENDM
  213.